#ifndef __MEMPOOL_H
#define __MEMPOOL_H
#include "list.h"
typedef unsigned char uchar;
typedef unsigned int uint;
typedef struct{
    struct list_head pool_node;
    // uchar *start;//当前内存池
    // uchar *end;//该内存块的结束
    unsigned long start;//当前内存池
    unsigned long end;//该内存块的结束
    void *data;
}PoolNode;

typedef struct{
    struct list_head large_node;
    uint size;
    void *data;
}LargeNode;
typedef struct {
    struct list_head p_head;//普通内存块头
    struct list_head large_head;//大内存块头
    PoolNode *current;
    LargeNode *large_current;
    uint p_blocks;//小内存块数
    uint large_blocks;//大内存块数
    uint p_size;//小内存块大小
}MemPool;
#endif